package com.snailwu.security;

/**
 * @author WuQinglong
 */
public interface StandardNames {

    // used to generate random or pseudo-random numbers.
    String SecureRandom = "SecureRandom";

    // used to calculate the message digest (hash) of specified data.
    String MessageDigest = "MessageDigest";

    // initialized with keys, these are used to sign data and verify digital signatures.
    String Signature = "Signature";

    // initialized with keys, these are used for encrypting/decrypting data.
    // There are various types of algorithms: symmetric bulk encryption (e.g. AES),
    //  asymmetric encryption (e.g. RSA), and password-based encryption (e.g. PBE).
    String Cipher = "Cipher";
    String MAC = "MAC";

    // used to generate a new pair of public and private keys suitable for use with a specified algorithm.
    String KeyPairGenerator = "KeyPairGenerator";

    // used to generate new secret keys for use with a specified algorithm.
    String KeyGenerator = "KeyGenerator";
    String KeyAgreement = "KeyAgreement";
    String AlgorithmParameters = "AlgorithmParameters";
    String AlgorithmParameterGenerator = "AlgorithmParameterGenerator";
    String KeyStore = "KeyStore";
    String CertificateFactory = "CertificateFactory";
    String CertPathBuilder = "CertPathBuilder";
    String CertPathValidator = "CertPathValidator";
    String CertStore = "CertStore";

}
